#!/bin/bash


source "../ovs_helper.sh"



lan1_script=$(create_switch lan1)

lan2_script=$(create_switch lan2)

lan3_script=$(create_switch lan3)

lan4_script=$(create_switch lan4)

lan5_script=$(create_switch lan5)

i=0
if [[ -n $1 ]] ;then

	i=$1
else
	echo 请传入要启动的防火墙的序号（一位数字）
	exit 1 
fi

vm_image="./temp_disk_$1.qcow2"

if [[ ! -e $vm_image ]] ; then

	echo 创建虚拟机镜像 $vm_image
	qemu-img create -f qcow2 -b eve_hda.qcow2 -F qcow2 $vm_image
fi

args=(



# 尤其当心mac地址冲突

-device virtio-net-pci,netdev=net0,mac=50:30:00:03:0$1:00 
-netdev tap,id=net0,ifname=usg$1_0,script="$lan1_script"

-device virtio-net-pci,netdev=net1,mac=50:30:00:03:0$1:01 
-netdev tap,id=net1,ifname=usg$1_1,script="$lan2_script"

-device virtio-net-pci,netdev=net2,mac=50:30:00:03:0$1:02 
-netdev tap,id=net2,ifname=usg$1_2,script="$lan3_script" 

-device virtio-net-pci,netdev=net3,mac=50:30:00:03:0$1:03 
-netdev tap,id=net3,ifname=usg$1_3,script="$lan4_script" 

-device virtio-net-pci,netdev=net4,mac=50:30:00:03:0$1:04 
-netdev tap,id=net4,ifname=usg$1_4,script="$lan5_script" 

-device virtio-net-pci,netdev=net5,mac=50:00:00:03:0$1:05 
-netdev tap,id=net5,ifname=usg$1_5,script=no

  # 防火墙启动不起来很可能是镜像的问题，而不是qemu版本的问题
  # eve中使用/opt/qemu-4.1.0/bin/ 的Qemu
  # 而 ubuntu 22 中默认使用 qemu 6.2.0 也能启动防火墙
  # USG6000v镜像来自 /opt/unetlab/addons/qemu/huaweiusg6kv-5.1.7-2018/hda.qcow2
  -drive file=$vm_image,if=virtio


#	-hda ./hda.qcow2 \
	# -nographic 注释掉以使用telnet来连接防火墙
	#-vga std
        -display none	
	-serial mon:tcp::4001$1,server,nowait
	-daemonize
)

# USG6000v: web 账号密码
#    Username: admin
#    Password: Admin@123
# 控制台密码 Password:admin

qemu-system-x86_64  ${args[@]} \
	-smp 2 -m 4096 \
	-name HUSG6000v -uuid 021b451c-39de-43fb-ba06-2668eb9401eb \
	-machine type=pc,accel=kvm \
	-usbdevice tablet -boot order=cd 
